package com.lyf.service;

import com.lyf.dto.*;
import com.lyf.result.PageResult;
import com.lyf.vo.OrderDetailVO;
import com.lyf.vo.OrderPaymentVO;
import com.lyf.vo.OrderStatisticsVO;
import com.lyf.vo.OrderSubmitVO;

public interface OrderService {

    PageResult conditionSearch(OrdersPageQueryDTO ordersPageQueryDTO);

    OrderStatisticsVO statistics();

    void cancel(OrdersCancelDTO ordersCancelDTO);

    void rejection(OrdersRejectionDTO ordersRejectionDTO);

    void confirm(OrdersConfirmDTO ordersConfirmDTO);

    OrderDetailVO getOrderdetails(Long id);

    void delivery(Long id);

    void complete(Long id);

    OrderSubmitVO
    submitOrder(OrdersSubmitDTO ordersSubmitDTO);

    OrderPaymentVO payment(OrdersPaymentDTO ordersPaymentDTO);

    PageResult historyOrders(Integer page, Integer pageSize, Integer status);

    void repetition(Long id);

    void reminder(Long id);
}
